// 用于存储用户相关的数据
export default {
  // state: {
  //   token: '',
  //   address: {},
  // },

  state() {
    const addStr = uni.getStorageSync('address')

    const userStr = uni.getStorageSync('userinfo')

    return {
      // 登录的token
      token: uni.getStorageSync('token') || '',
      // 收获地址
      address: addStr ? JSON.parse(addStr) : {},
      // 用户的个人信息
      userInfo: userStr ? JSON.parse(userStr) : {},
      // 存储将来到了登录页以后, 如果完成登录以后,需要跳回哪个页面 的信息
      // { url: '/pages/cart/cart', type: 'tabbar'/'common' }
      redirectInfo: null,
    }
  },

  getters: {
    // 完整地址
    fullAddress(state) {
      const { provinceName, cityName, countyName, detailInfo } = state.address
      // 将来用户如果没有选择收获地址 address = {}
      if (!provinceName) return ''

      return provinceName + cityName + countyName + detailInfo
    },
  },

  mutations: {
    setAddress(state, address) {
      state.address = address

      // 本地存储
      uni.setStorageSync('address', JSON.stringify(state.address))
    },

    updateUserInfo(state, userInfo) {
      // 更新用户信息
      state.userInfo = userInfo

      // 本地存储
      uni.setStorageSync('userinfo', JSON.stringify(state.userInfo))
    },

    setToken(state, token) {
      // 更新仓库中的token
      state.token = token || ''
      // 本地存储
      uni.setStorageSync('token', state.token)
    },

    setRedirectInfo(state, info) {
      state.redirectInfo = info
    },
  },
  actions: {},

  namespaced: true,
}
